package top.fullj.ctx;

import javax.annotation.Nonnull;
import java.util.Map;

/**
 * @author bruce.wu
 * @since 2021/12/8 14:49
 */
public interface Context {

    boolean hasAttr(@Nonnull Object key);

    <T> T getAttr(@Nonnull Object key);

    Context setAttr(@Nonnull Object key, @Nonnull Object value);

    void remove(@Nonnull Object key);

    @Nonnull
    Map<Object, ?> toMap();

}
